<?php

if (!defined('BASEPATH'))
    exit('No direct script access allowed');

class Publicaeee extends CI_Controller {

    function __construct() {
        parent::__construct();
        /* cargo librerias necesarias */
        $this->load->helper('url');
        $this->load->database();
        $this->load->library('session');
    }

    /**
     * Index principal, 
     * 
     */
    function tu_curso() {
        $this->load->view('home/header.php');
        $this->load->view('home/publica_tu_curso.php');
        $this->load->view('home/footer.php');
    }

    function datos_paso_1() {
        $data = array();
        $data['es_gratuita'] = $this->input->post('es_gratuita');
        if ($this->input->post()) {
            foreach ($this->input->post() as $key => $val) {
                $data[$key] = $val;
            }
            $this->session->set_userdata($data);
        } else {
            $data = $this->session->all_userdata();
        }
        return $data;
    }

    function imagen() {
        $data = $this->datos_paso_1();
        $this->load->view('home/header.php');
        $this->load->view('home/seleccionar_imagen.php', $data);
        $this->load->view('home/footer.php');
    }

    function subir_imagen() {
        $data = $this->datos_paso_1();
        $this->load->view('home/header.php');
        $this->load->view('home/subir_imagen.php', $data);
        $this->load->view('home/footer.php');
    }

    function cargar_instituto() {

        //Foto del Curso
        $img = $this->input->post('img_select');
        $this->session->set_userdata('foto_curso', $img);

        $data = $this->datos_paso_1();
        //Si no esta logueado
        if (!$this->session->userdata('user_id')) {
            $data['mostrar_login'] = true;
            $this->load->view('home/header.php');
            $this->load->view('home/cargar_instituto.php', $data);
            $this->load->view('home/footer.php');
        } else {
            //Ya está logueado - Publica el curso
            $user_id = $this->session->userdata('user_id');
            $tiene_instituto = $this->verificar_usuario($user_id);
            if ($tiene_instituto == 0) {
                //Muestra para cargar un instituto
                $this->load->view('home/header.php');
                $this->load->view('home/cargar_instituto.php');
                $this->load->view('home/footer.php');
            } else {
                //Publica el curso con el instituto asociado
                $this->publicar_curso();
            }
        }
    }

    function validate($data) {
        $error = array();
        //
        //VALIDACIONES
        //
        
		      //1=definido / 2=indefinido
        if ($data['titulo'] == '') {
            $error['error_titulo'] = 'Debe especificar el titulo del curso';
            return $error;
        }

        if ($data['descripcion_corta'] == '') {
            $error['error_descripcion_corta'] = 'Debe cargar un breve descripcion del curso';
            return $error;
        }

        if ($data['palabras_claves'] == '') {
            $error['error_palabras_claves'] = 'Debe ingresar al menos una palabra clave';
            return $error;
        }

        if ($data['meses_duracion'] == '') {
            $data['meses_duracion'] = 0;
        }

        if ($data['precio'] == '') {
            $data['precio'] = 0;
        }

        //1=definido / 2=indefinido
        if ($data['tipo_duracion'] == 1 && $data['meses_duracion'] == 0) {
            $error['error_duracion'] = 'Debe especificar tiempo de duracion del curso';
        }

        /* if ($data['es_gratuita'] == 'false' && $data['precio'] == 0) {
          $error['error_precio'] = 'Ingrese el costo del curso';
          } */

        if ($data['matricula'] == false || $data['matricula'] == 'false') {
            $valor_matricula = 0;
        } else if ($data['matricula'] == true && $data['valor_matricula'] == 0) {
            $error['error_matricula'] = 'Debe cargar el valor de la matricula';
        }
        //die(count($error));
        return $error;
    }

    function validar_paso_1() {
        $data = $this->datos_paso_1();
        $error = array();
        $error = $this->validate($data);
        if (count($error) > 0) {
            //die(json_encode($error));
            echo '{"items":' . json_encode($error) . '}';
            //die('Error');
        } else {
            $error['ok'] = 'OK';
            echo '{"items":' . json_encode($error) . '}';
        }
    }

    function verificar_usuario($user_id) {
        $sql = "SELECT instituto_id FROM usuarios_institutos WHERE user_id = $user_id";
        $num_row = $this->db->query($sql)->num_rows();
        if ($num_row != 0) {
            $res =  $this->db->query($sql)->result();
            return $res[0]->instituto_id; 
        }
        error_log('verificar:' . $num_row);
        return $num_row;
    }

    function verificar() {
        $email = $this->input->post('email');
        $password_1 = $this->input->post('password_1');
        $password_2 = $this->input->post('password_2');
        $nombre = $this->input->post('nombre');
        $apellido = $this->input->post('apellido');

        $sql_insert = "INSERT INTO users (nombre,apellido,email, password) VALUES ('$nombre','$apellido','$email','$password_1')";
        $res = $this->db->query($sql_insert);
        if ($res) {
            //redirect('publica/registroOk');
            $data['mensaje_registro'] = 'Usuario registrado exitosamente';
            $this->load->view('home/header.php');
            $this->load->view('home/index.php', $data);
            $this->load->view('home/footer.php');
            $this->auto_login($email, $password_1);
        }
    }

    function auto_login($email, $password) {
        $this->load->model('user', '', true);

        $userData = $this->user->authenticate($email, $password);
        if ($userData) {
            $credentials = array('loggedin' => true, 'user_id' => $userData->id, 'data' => $userData);
            $this->session->set_userdata($credentials);
            $this->session->set_userdata($email);
            redirect('home', 'refresh');
        } else {
            redirect('sessions/user_login_fail');
        }
    }
    

}

?>